package _18_剑指OfferII;

public class _019_剑指OfferII最多删除一个字符得到回文 {

    public boolean validPalindrome(String s) {
        int begin = 0;
        int end = s.length() - 1;
        while (begin < end) {
            if (s.charAt(begin) == s.charAt(end)) {
                begin++;
                end--;
            } else {
                // 删除回文串，判断是否为回文
                return isPalindrome(s, begin + 1, end) || isPalindrome(s, begin, end - 1);
            }
        }
        return true;
    }

    private boolean isPalindrome(String s, int begin, int end) {
        while (begin < end) {
            if (s.charAt(begin) != s.charAt(end)) return false;
            begin++;
            end--;
        }
        return true;
    }
}
